#pragma once

#include"Node.h"
#include"linearsolver.h"

class AnalyseType {
public:
	virtual int addELement(int elementType, Material& material, int nid1, int nid2, int nid3, int nid4) {
		return 0;
	}

	virtual int addELement(int elementType, Material& material, int nid1, int nid2, double val) {
		return 0;
	}

	virtual void finishModel() {
		return;
	}

	virtual vector<NodeDirection> solve(LinearEqSolver& lineSolver) {
		vector<NodeDirection> v;
		return v;
	}

	virtual bool addNode(int id,double x, double y) {
		//++m_LastNodeId;
		return false;
	}

	virtual bool addNode(int id, double x, double y,double z) {
		//++m_LastNodeId;
		return false;
	}

	virtual AnalyseType& setU(int nodeId, int direct, double u) {

		return *this;
	}

	virtual AnalyseType& setF(int nodeId, int direct, double f) {

		return *this;
	}


};